﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using planetExpressLib;

namespace planet_express
{

    public partial class Reserve : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //si no esta conectado, le envia a registrarse para poder reservar
            if(Session["login"]==null)
                Response.Redirect("Login.aspx");

            if (!Page.IsPostBack)
            {//asigno el dia actual por defecto en los calendarios.
                CalendarIda.SelectedDate = CalendarIda.TodaysDate;
                CalendarVuelta.SelectedDate = CalendarVuelta.TodaysDate;
            }
            if(PreviousPage!=null)
            {
                OrigenList.Text = PreviousPage.pOrigen;
                cantAdultos.Text = PreviousPage.cantAdulto;
                cantNinyos.Text = PreviousPage.cantNinyo;
                cantJub.Text = PreviousPage.cantjubilado;

            }
             inicio.Text = fIda;
             fin.Text = fVuelta;
        }

        protected void ComprobarFechIdaVuelta(object sender, ServerValidateEventArgs fIda, ServerValidateEventArgs fVuelta)
        {
            string ida = fIda.Value;
            string vuelta = fVuelta.Value;
            if (ida.CompareTo(vuelta) > 0)
            { fIda.IsValid = false; }
        }

        protected void buttonReserva_Click(object sender, EventArgs e)
        {

        }

        //Devuelve el valor que se seleccion en el DropDownList de Origen
        public String fIda
        {
            get
            {
                return this.CalendarIda.SelectedDate.ToShortDateString();
            }
        }

        //Devuelve el valor que se seleccion en el DropDownList de Origen
        public String fVuelta
        {
            get
            {
                return this.CalendarVuelta.SelectedDate.ToShortDateString();
            }
        }

        //Devuelve el valor que se seleccion en el DropDownList de Origen
        public String pOrigen
        {
            get
            {
                return this.OrigenList.Text;
            }
        }

        //Devuelve el valor que se seleccion en el DropDownList de Destino
        public String pDestino
        {
            get
            {
                return this.DestinoList.Text;
            }
        }

        //Devuelve la cantidad de adultos del billete
        public String cantAdulto
        {
            get
            {
                return this.cantAdultos.Text;
            }
        }

        //Devuelve la cantidad de ninyos del billete
        public String cantNinyo
        {
            get
            {
                return this.cantNinyos.Text;
            }
        }

        //Devuelve la cantidad de jubilados del billete
        public String cantjubilado
        {
            get
            {
                return this.cantJub.Text;
            }
        }

        //Devuelve el precio total del billete
        public String precioBillete
        {
            get
            {
                int pre = 0,ad,ni,jub;

                //Comprobacion por si no se ha metido ningun valor en estos 3 campos
                if (cantAdultos.Text == null)
                    ad = 0;
                else
                    ad = Convert.ToInt32(this.cantAdultos.Text);

                if (cantNinyos.Text == null)
                    ni = 0;
                else
                    ni = Convert.ToInt32(this.cantNinyos.Text);
                
                if (cantJub.Text == null)
                    jub = Convert.ToInt32(this.cantJub.Text);
                else
                    jub = 0;

                if (ad > 0)
                    pre = pre + ad * 100;
                if (ni > 0)
                    pre = pre + ni * 25;
                if (jub > 0)
                    pre = pre + jub * 38;


                return Convert.ToString(pre);
            }
        }

        //Comrprueba las fechas del calendario
        protected void valFechaIdaVuelta(object source, ServerValidateEventArgs args)
        {
                Boolean val;
                DateTime minDate = CalendarIda.SelectedDate;// Convert.ToDateTime(this.CalendarIda);
                DateTime maxDate = CalendarVuelta.SelectedDate;// Convert.ToDateTime(this.CalendarVuelta);

                if (maxDate < minDate)
                    val = false;
                else
                    val = true;

               args.IsValid = val;
            
        }
        /*public String precioBillete
        {
            get
            {
                int pre = 0;
                int ad = Convert.ToInt32(this.cantAdultos.Text);
                int ni = Convert.ToInt32(this.cantNinyos.Text);
                int jub = Convert.ToInt32(this.cantJub.Text);

                if (ad > 0)
                    pre = pre + ad * 100;
                if (ni > 0)
                    pre = pre + ni * 25;
                if (jub > 0)
                    pre = pre + jub * 38;


                return Convert.ToString(pre);
            }
        }*/
    }
}